package com.example.backstage.dao;


import com.example.gok_mall.entity.Cart;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface CartDao {
    int deleteByPrimaryKey(Integer id);

    int insert(Cart record);

    int insertSelective(Cart record);

    Cart selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Cart record);

    int updateByPrimaryKey(Cart record);

    //根据用户Id和产品Id去查购物车
    Cart selectCatByUserIdProductId(@Param("userId") Integer userId, @Param("productId") Integer productId);

    //根据用户Id查询购物车
    List<Cart> selectCartByUserId(Integer userId);

    //根据用户Id查询商品是否被选中
    int selectCartProductCheckedStatusByUserId(Integer userId);

    //删除购物车中的商品
    int deleteByUserIdProductIds(@Param("userId") Integer userId,@Param("productIdList")List<String> productIdList);

    //全选购物车中的商品或者不全选购物车中的商品
    int checkedOrUncheckedProduct(@Param("userId") Integer userId,@Param("checked") Integer checked,@Param("productId") Integer productId);

    //根据用户Id查询购物车中商品的数量
    int selectProductCountByUserId(Integer userId);

    //查询购物车中的商品是否勾选
    List<Cart> selectCheckedCartByUserId(Integer userId);

}